終於進入到最後的 CD 部屬環節,由於我們自身所架設的 Linux server 並沒有對外開放,因此在 GitHub Actions 上是無法進行自動化部屬,但我們還是會分享若有開放則其 CD 文件要如何撰寫,並且分享若要手動部屬,目前我的作法為何。
目前我針對部屬的邏輯是將在 DockerHub 上的 Docker Image 給抓到 Linux server 當中,並且當需要此服務時,就在 Linux server 中執行以下的指令,而以下的 CD 部署文件只是依照此邏輯給實踐出來,只是因為 Linux server 只架設在本地並沒有對外開放,因此 GitHub Actions 是無法透過 SSH 連線至自己架設的 server 上。
docker pull kylekao/ithome
name: SSH connect deploy CD
on:
push:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: garygrossgarten/github-action-ssh@release
with:
command: docker pull kylekao/ithome
host: ${{secrets.SERVER_HOST}}
username : ${{secrets.USERNAME}}
password : ${{secrets.PASSWORD}}
secrets.變數
給替換掉。